import { customRef } from "vue";


//自定义ref
export default function<T>(value: any) {
    //track收集依赖， trigger触发副作用
  return customRef<T>((track, trigger) => {
    return {
      //返回get set给proxy代理
      get() {
        //收集依赖 需要用到改值得时候就表明有依赖，收集
        track(); 
        return value

      },
      set(newValue) {
        setTimeout(()=>{
          value = newValue
          trigger()
        }, 1000)
        //值改变后，触发副作用
      },
    };
  });
}
